选出 64 个字符——大写字母 A-Z、小写字母 a-z、数字 0-9、符号 "+"、"/"(再加上作为垫字的 "=",实际上是 65 个字符,垫字是当生成的 Base64 字符串的个数不是 4 的倍数时,添加在尾部的字符),作为一个基本字符集。然后,其他所有符号都转换成这个字符集中的字符。
比如字符串 ABC,对应的二进制序列为 01000001 01000010 01000011,按 6 位分组后为 010000 010100 001001 000011,每个 6 位二进制前补 2 个 0 变成一个字节,最后是 00010000 00010100 00001001 00000011,根据编码表得到 Base64 字符串 QUJD。
Base64 编码表码值二进制字符0000000A1000001B2000010C3000011D4000100E5000101F6000110G7000111H8001000I9001001J10001010K11001011L12001100M13001101N14001110O15001111P16010000Q17010001R18010010S19010011T20010100U21010101V22010110W23010111X24011000Y25011001Z26011010a27011011b28011100c29011101d30011110e31011111f32100000g33100001h34100010i35100011j36100100k37100101i38100110m39100111n40101000o41101001p42101010q43101011r44101100s45101101t46101110u47101111v48110000w49110001x50110010y51110011z52110100053110101154110110255110111356111000457111001558111010659111011760111100861111101962111110+63111111/